.class public Lroboguice/config/EventManagerModule;
.super Lcom/google/inject/AbstractModule;
.source "EventManagerModule.java"


# instance fields
.field protected a:Lroboguice/event/EventManager;

.field protected b:Lcom/google/inject/Provider;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lcom/google/inject/Provider",
            "<",
            "Landroid/content/Context;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method public constructor <init>(Lroboguice/event/EventManager;Lcom/google/inject/Provider;)V
    .locals 0
    .parameter
    .parameter
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lroboguice/event/EventManager;",
            "Lcom/google/inject/Provider",
            "<",
            "Landroid/content/Context;",
            ">;)V"
        }
    .end annotation

    .prologue
    .line 20
    invoke-direct {p0}, Lcom/google/inject/AbstractModule;-><init>()V

    .line 21
    iput-object p1, p0, Lroboguice/config/EventManagerModule;->a:Lroboguice/event/EventManager;

    .line 22
    iput-object p2, p0, Lroboguice/config/EventManagerModule;->b:Lcom/google/inject/Provider;

    .line 23
    return-void
.end method


# virtual methods
.method protected configure()V
    .locals 4

    .prologue
    .line 29
    const-class v0, Lroboguice/event/EventManager;

    invoke-virtual {p0, v0}, Lroboguice/config/EventManagerModule;->bind(Ljava/lang/Class;)Lcom/google/inject/binder/AnnotatedBindingBuilder;

    move-result-object v0

    iget-object v1, p0, Lroboguice/config/EventManagerModule;->a:Lroboguice/event/EventManager;

    invoke-interface {v0, v1}, Lcom/google/inject/binder/AnnotatedBindingBuilder;->toInstance(Ljava/lang/Object;)V

    .line 30
    invoke-static {}, Lcom/google/inject/matcher/Matchers;->any()Lcom/google/inject/matcher/Matcher;

    move-result-object v0

    new-instance v1, Lroboguice/event/ObservesTypeListener;

    iget-object v2, p0, Lroboguice/config/EventManagerModule;->b:Lcom/google/inject/Provider;

    iget-object v3, p0, Lroboguice/config/EventManagerModule;->a:Lroboguice/event/EventManager;

    invoke-direct {v1, v2, v3}, Lroboguice/event/ObservesTypeListener;-><init>(Lcom/google/inject/Provider;Lroboguice/event/EventManager;)V

    invoke-virtual {p0, v0, v1}, Lroboguice/config/EventManagerModule;->bindListener(Lcom/google/inject/matcher/Matcher;Lcom/google/inject/spi/TypeListener;)V

    .line 31
    iget-object v0, p0, Lroboguice/config/EventManagerModule;->a:Lroboguice/event/EventManager;

    invoke-virtual {p0, v0}, Lroboguice/config/EventManagerModule;->requestInjection(Ljava/lang/Object;)V

    .line 32
    return-void
.end method
